/* Использование функций двоично-десятичного (BCD) преобразования */
#include <90s2313.h> 	// подключаем заголовочный файл используемого
// микроконтроллера AVR

/* Перед использованием функций Двоично-Десятичного (BCD) Преобразования
   подключим заголовочный файл bcd.h */
#include <bcd.h>

/* Основная функция программы */
void main(void)
{
/* При двоично-десятичном представлении числа, каждая тетрада, т.е.
   4 разряда, соответствует двоичному представлению десятичной цифры.
   Так если число 0b00100110 интерпретировать как двоично-десятичное,
   то оно будет обозначать десятичное чмсло 26, т.к.
   0010 соответствует 2, а 0110 - 6. Если число 0b00100110
   интерпретировать как двоичное, то оно будет обозначать
   десятичное чмсло 38 */

unsigned char x,y,z; 	// Объявляем символьные переменные (байты)
// без знака x, y и z

x=0b00100110; 		// инициализируем байт x

y=bcd2bin(x); 		// y=26=0b00011010=0x1A, т.к. функция bcd2bin
// интерпретирует число x, как
// двоично-десятичное (т.е. считает, что x=26)
// и возвращает его двоичный эквивалент

z=bin2bcd(x); 		// z=56=0b00111000=0x38, т.к. функция bin2bcd
// интерпретирует число x, как
// двоичное (т.е. считает, что x=38)
// и возвращает его двоично-десятичный
// эквивалент: 0011 соответствует 3, а 1000 - 8
}
